Managing conversations

ABSTRACT

Technologies are generally described for providing a system to facilitate efficient management and prioritization of conversations, such as emails, in a communication application. Conversations may be prioritized according to user preferences, and an inbox may be rearranged to display important conversations in a user defined order. Conversations may also be associated together so that they may appear together and flow together in the inbox. Additionally, the system may enable a user to delay display of a conversation until a later time based on various criteria such as location, time, and client device. A user may also move important emails to the top of an inbox for prominent display. The system may perform the actions automatically based on observed user behavior. Furthermore, the system may enable touch interactions for interacting with and managing the conversations, and quick controls may be provided for executing commands to perform actions associated with the conversations.

BACKGROUND

Communication applications are widely used on a variety of clientdevices for real time and non-real time correspondence. With theproliferation of computing and networking technologies, communicationsincluding email use, video conferencing and instant messaging havebecome an inextricable part of daily personal and professional lives.The increased reliance on email brings with it the disadvantage of howto deal with increasingly large numbers of emails. It is a commonoccurrence to find hundreds of email needing attention (at least a quickreview) when a person comes back from vacation or comparable absence.Similarly, certain events (e.g., a product release, a conference, etc.)may generate a large number of received emails when the person receivingthe emails may be too busy to deal with the increased volume. Inaddition to important emails, users may receive personal emails and junkemail in a same inbox creating even more conversations to sort through.

Users may receive a large quantity of emails hourly and daily, andsorting through hundreds and even thousands of emails to find importantemails that need to be dealt with can be arduous, inefficient, and timeconsuming. Spending a significant time going through emails can bestressful and overwhelming, and users may feel that it is difficult tocatch up and read through everything to find and keep track of importantemails and to efficiently manage emails.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to exclusively identify keyfeatures or essential features of the claimed subject matter, nor is itintended as an aid in determining the scope of the claimed subjectmatter.

Embodiments are directed to a system facilitating efficient managementand prioritization of conversations, such as emails, in a communicationapplication. Conversations may be prioritized according to userpreferences, and an inbox may be rearranged to display importantconversations in a user-defined order. For example, a user may beenabled to move important emails to the top of an inbox for prominentdisplay. Conversations may also be associated together so that they mayflow together in the inbox. Additionally, the system may enable a userto hide or minimize display of a conversation until a later time basedon criteria such as location, time, proximity to other people, andclient device. The system may also be configured to perform the actionsautomatically based on observed user behavior.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory anddo not restrict aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example collaborative environment where a systemfor managing conversations on a client device may be employed;

FIGS. 2A and 2B illustrate an example renew action of a communicationapplication;

FIGS. 3A and 3B illustrate an example snooze action of a communicationapplication;

FIGS. 4A and 4B illustrate an example quick toolbar and stack action;

FIG. 5 is a networked environment, where a system according toembodiments may be implemented;

FIG. 6 is a block diagram of an example computing operating environment,where embodiments may be implemented; and

FIG. 7 illustrates a logic flow diagram for a process of providing asystem to facilitate managing conversations in a communicationapplication, according to embodiments.

DETAILED DESCRIPTION

As briefly described above, a system is described for managingconversations in a communication application. A user may prioritizeemails and rearrange an inbox according to user preferences to displayimportant conversations in a preferred order. A user may mark a messageas important and move the marked message to the top of the inbox.Conversations may also be stacked together so that they may appeartogether and flow together in the inbox. Some actions may be performedautomatically based on observed user behavior. Touch interactions mayalso be employed for interacting with and managing the conversations andquick controls may be provided for executing commands to perform actionsassociated with the conversations.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and in which are shown byway of illustrations specific embodiments or examples. These aspects maybe combined, other aspects may be utilized, and structural changes maybe made without departing from the spirit or scope of the presentdisclosure. The following detailed description is therefore not to betaken in a limiting sense, and the scope of the present invention isdefined by the appended claims and their equivalents.

While the embodiments will be described in the general context ofprogram modules that execute in conjunction with an application programthat runs on an operating system on a computing device, those skilled inthe art will recognize that aspects may also be implemented incombination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that embodiments may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and comparablecomputing devices. Embodiments may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Embodiments may be implemented as a computer-implemented process(method), a computing system, or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage medium readable by a computersystem and encoding a computer program that comprises instructions forcausing a computer or computing system to perform example process(es).The computer-readable storage medium can for example be implemented viaone or more of a volatile computer memory, a non-volatile memory, a harddrive, a flash drive, a floppy disk, or compact servers, an applicationexecuted on a single computing device, and comparable systems. The term“server” generally refers to a computing device executing one or moresoftware programs typically in a networked environment. However, aserver may also be implemented as a virtual server (software programs)executed on one or more computing devices viewed as a server on thenetwork. More detail on these technologies and example operations isprovided below.

Throughout this specification, the term “platform” may be a combinationof software and hardware components for providing a system to facilitatemanagement of conversations in a communication application. Examples ofplatforms include, but are not limited to, a hosted service executedover a plurality of servers, an application executed on a singlecomputing device, and comparable systems. The term “server” generallyrefers to a computing device executing one or more software programstypically in a networked environment. However, a server may also beimplemented as a virtual server (software programs) executed on one ormore computing devices viewed as a server on the network. More detail onthese technologies and example operations is provided below.

According to embodiments, a client device may be a touch orgesture-enabled device, such that hand gestures and finger touch may berecognized as input methods on the user interface of the client devicefor interacting with, controlling, and providing content to the clientdevice. The client device may also work with a traditional mouse andkeyboard. A touch or gesture-enabled device may recognize touch actionssuch as a tap, a swipe, a pinch, expand, and a drag, as some examples.Touch actions, such a tap, swipe, pinch, expand, and drag, and othersimilar actions as used herein may be provided by a user through afinger, a pen, a mouse, or similar device, as well as through predefinedkeyboard entry combinations, a voice command, or an eye-tracking input.

FIG. 1 illustrates an example collaborative environment, where a systemfor managing conversations on a client device may be employed. In acollaborative environment, as demonstrated in diagram 100, a user 116may employ a variety of different client devices to communicate withother users. For example, a communication application executed on theclient devices may enable email exchange, instant messaging, voice overIP (VOIP), audio and video conferencing, and phone calls. Thecommunication application may be executed on the client device, and maybe connected with a server 114 and with other client devices over anetwork 112. The network 112 may be a wired or wireless network, or acloud network. The server 114 providing the communications through thecommunication application may also provide other features accessible atthe client devices over the network such as calendar applications, wordprocessing applications, contacts management, and presence detection.The communication application and other applications may be integratedtogether to enable the applications to communicate with each other toexchange information for seamless coordination of communicating,collaborating, and information exchange.

Some example client devices for viewing emails may include a desktopcomputing device 104, a personal computer 106, a tablet 108, asmartphone 110, a whiteboard and other similar client devices. Theclient devices may be configured to enable touch and gestureinteraction, such that the user 116 may interact with a document, or aconversation such as an email, viewed on the user's client deviceemploying touch and gesture actions on the user interface of the clientdevice.

In some example embodiments, a large quantity of emails andconversations may be received daily at a communication application.Example emails may include important business and personal emails, aswell as less important emails, which may include shopping, news,entertainment, recreational, and other low importance emails. Otherconversations may include emails to schedule meetings and conferencecalls, and to share documents. When the user 116 receives a largequantity of emails, the user 116 may need to be able to quickly sortthrough the user's inbox to quickly find, view, and reply to importantemails.

In some scenarios, the communication application may be configured todisplay conversations, such as emails, in different configurations basedon the type of computing device for optimizing how a user views andinteracts with emails on the computing device. For example, a personalcomputer or desktop device may have more viewing space on the userinterface such that a larger quantity of emails may be viewed at a time,as well as some detailed preview information about an email may beprovided. A tablet or smartphone, however, may have a smaller userinterface and thus more limited viewing space for displaying emails.Because of a smaller user interface, fewer emails may be displayed on anemail application executed on a smart phone or tablet, and when the user116 views emails on a tablet or smartphone, it may be even moredifficult to parse through a large quantity of unread and unsortedemails quickly and efficiently. A user may desire to efficientlyorganize displayed conversations such that important conversations maybe displayed, and other non-important conversations may be hidden untila later time.

A system according to embodiments may enable efficient management ofconversations in the communication application. The system may enableconversations to be prioritized and an inbox to be reorganized todisplay important conversations in a desired order according to userpreferences. The system may also enable conversations to be associatedtogether so that they may be viewed together and may flow together onthe user interface. Additionally, the system may enable a user to hide aconversation until a later time based on various criteria such aslocation, time, proximity to other people, and client device. The systemmay also enable a user to move important emails to the top of an inboxfor prominent display. Furthermore, the system may enable touch andgesture interactions for interacting with the conversations to organizeand prioritize conversations, and may provide quick touch controls forexecuting commands on an interface of the client device.

FIGS. 2A and 2B illustrate an example renew action of a communicationapplication, according to some example embodiments.

As previously described, a communication application 202 may display alarge quantity of conversations, such as emails, in an inbox 214. Theconversations may include important work and personal emails, as well asless important emails such as entertainment and spam emails. A user maydesire to view certain emails at certain times. For example, the usermay desire to view work emails only during business hours or while atthe office, and to receive personal and entertainment emails when athome and during evening non-business hours. Additionally, a user maydesire to keep track of important messages. In some communicationapplications 202, a user may mark a message as important, such as with ared flag, and the user may scan the inbox 214 to look for the mark inorder to find it again. Marked emails may be forgotten and/or lost asnew messages are received, and the marked email moves further down alist of received messages in the inbox 214.

As illustrated in diagrams 200A and 200B, a system according toembodiments may enable a user to keep track of important messages bymoving an important message to the top of the inbox 214 utilizing arenew action. The renew action may move the conversation to appear atthe top of the inbox 214. In some cases, the renewed conversation may bemade new again, or marked as unread, and in other cases, the renewedconversation may be moved to the top of the inbox 214 while maintaininga read state. Additionally, when the renewed conversation is moved tothe top of the inbox 214, the conversation may be flagged to indicatethat it was renewed. The renewed conversation may preserve an originaltimestamp so that the user knows when the conversation first arrived orwas first initiated, and the renewed conversation may also receive anadditional timestamp for when it is moved to the top of the inbox 214.

In some embodiments, the renewed conversation may continue to flow withother conversations in the inbox 214 as new conversations are received,and the renewed conversation may be renewed subsequent times to keep theconversation at the top of the inbox 214 as many times as a userdesires. In effect, the renew action may mimic forwarding theconversation to the user's own inbox in order to move the conversationto the top of the inbox 214. However, the senders and recipients mayremain the same when the conversation is renewed, unlike when the userforwards to himself and the user becomes the sender. The renewedconversation may also preserve original header and body withoutinsertion of additional forwarding headers that are sometimes insertedwhen a conversation is forwarded. In another embodiment, the renewedconversation may be configured to remain at the top of the inbox for aperiod of time such that the renewed conversation may not to flow withother conversations in the inbox 214 as new conversations are received.The user may actively remove the renewed conversation from the top ofthe inbox 214 to enable the conversation to continue to flow with otherconversations in the inbox. Additionally, the renewed conversation mayremain at the top of the inbox for a predefined and customizable amountof time, and at the expiration of the period of time, the conversationmay continue to flow with other conversations in the inbox.

In an example embodiment, as illustrated in diagram 200A, a user mayselect a message 208 from an inbox 214 list of messages that the usermay desire to renew. For example, the user may desire to renew themessage 208 if the user does not have time to read it currently, if theuser wants to mark the message 208 for later follow up, if the userwants to keep the message 208 near the top of the inbox 214 as areminder, or other similar scenario. The user may select the message 208employing a touch action 222 such as a tap and hold, a horizontal swipe,or another swipe motion in a shape such as an L-shape, and a popup pane220 may appear with a list of selectable actions to be executed on theselected message. The renew action 212 may be presented on the list ofactions on the popup pane 220, and the user may perform a gesture toselect the renew action 212. An example gesture may be to drag themessage over the renew action 212 or to tap the renew action 212 whilethe message is selected. Other traditional input actions such as mouse,stylus and keyboard entries may also be utilized to select to renew themessage.

As illustrated in diagram 200B, after the renew action has been selectedto renew the selected message, the renewed message 230 may be moved tothe top of the inbox 214 list. The renewed message 230 may receive a newtimestamp 218 to indicate when the message was renewed, and the originaltimestamp 216 may be preserved to indicate when the message wasoriginally received. The renewed message 230 may also be marked asimportant with a visualization icon 210 such as a star or flag so thatas the renewed message flows with the messages in the inbox 214, theuser can quickly scan and identify the renewed message in the inbox 214.A filter may also be provided to enable the user to select to view onlyrenewed items in the inbox.

In another example embodiment, a toolbar 204 may be provided with thecommunication application 202 to enable quick actions to be taken. Arenew option may be presented on the toolbar 204, and the user mayselect the message to renew the message and perform an input action toselect the renew action from the toolbar 204. For example, the user maytap and hold the message to select the message, and may drag and dropthe message over the renew action, or the user may tap the renew actionon the toolbar 204 while the message is selected to renew the message.

In a further embodiment, the communication application 202 may beconfigured to automatically renew a message based on identified userbehavior. For example, the system may automatically renew a messageafter a user begins a draft reply. The system may also automaticallyrenew a message after the user begins reading the message. The systemmay detect reading of the message based on the user interaction with themessage such as scrolling through the message through touch action 222or moving a scrollbar in the reading pane of the message or detectingthe user's eye lingering for a period of time on the message through eyedetection. In another example, the system may automatically renew amessage if an expected reply is not received. For example, the systemmay reason over content of the message to determine that a reply islikely expected, and then if no reply is received within a definedperiod of time, e.g. 48 hours, the message may be automatically renewedin the inbox 214 to remind the user to follow up. Furthermore, since anew timestamp may be received when a message is renewed, the system mayenable sorting emails based on original timestamps and on renewedtimestamps that may be received when a user modifies or renews amessage.

In another example embodiment, a done action 232 may also be provided,where the user may select the done action 232 after interacting with amessage to hide the message from the inbox 214 so that other importantemails may be displayed. The user may mark a message as done by draggingthe message to the done action 232 displayed on the popup pane 220,selecting the done action on the popup pane 220 while the message isselected, performing a swipe in a particular shape such as an L-shape,or by selecting a quick done action from the toolbar 204. The system mayalso automatically mark messages as done, for example after the userreplies to a message, reads a message when a reply is not expected, ordownloads attachments from a message. When the message is automaticallymarked as done, the message may be hidden from the inbox 214.

FIGS. 3A and 3B illustrate an example snooze action of a communicationapplication, according to some example embodiments.

As previously described, a user may desire to organize messagesdisplayed in a communication application 302 so that the user may viewcertain messages at certain defined times. For example, the user maydesire to view work messages only during business hours or while at theoffice, and to receive personal and entertainment messages when at homeand during evening non-business hours. The user may also desire to hideor minimize a message if the user does not have time to read themessage, or wishes to wait to read it until the user is on a differentcomputing device, near somebody with whom they need to discuss amessage, in a meeting relevant to the message, or in a differentlocation, or other similar reason. The user may select a snooze optionto cause the message to be displayed at a later time based on a detectedcriteria selected by the user.

As illustrated in diagram 300A, a user may select a message 308 from aninbox 314 list of messages that the user may desire to hide or minimizethe message 308 until a later time. For example, the user may wish tohide the message 308 if the user does not have time to read it currentlyor the user wants to read it on a different device, or other similarscenario. The user may select the message 308 employing a touch action322 such as a tap and hold, and a popup pane 320 may appear with a listof actions that may be executed on the selected message. A snooze action309 may be presented on the list of actions on the pane 320, and theuser may perform a gesture to select the snooze action 309. For example,the user may drag the message over the snooze action 309 or tap thesnooze action 309 while the message is selected. Other traditional inputactions such as mouse, stylus and keyboard entries may also be utilizedto select to snooze the message.

In another embodiment, a snooze option 306 may be presented on a toolbar304, and the user may select a message and perform an action to selectthe snooze option 306 from the toolbar 304, such as tapping and holdingthe message to select the message, and dragging the message over thesnooze option 306, or tapping the snooze option 306 on the toolbar 304while the message is selected. Furthermore, when the user hovers over anemail, a snooze icon may be temporarily displayed next to the message toenable the user to select the icon to snooze the email.

As illustrated in diagram 300B, after the snooze action has beenselected to hide the selected message, a pane 310 may be displayed toprovide a number of snooze options. The user may select to see themessage based on a variety of criteria such as a different time anddate, when the user is at a different location, when the user is loggedin on a different device, when a certain user is detected, when the useris in a particular meeting, or other similar situation.

The list of snooze options may display a variety of different drop-downor write-in menus for enabling the user to select the snooze time. Forexample, the user may select the date 312 and time 316 to redeliver themessage, and the user may also select a number of times and how oftenthe message should be redelivered/displayed by setting a repeat 318option. The user may select the message to be redelivered/displayed whenthe system detects the user is on a particular type of device 324. Forexample, the user may initially receive the message on the user's smartphone, and the user may snooze the email until the system detects theuser is at a computing device such as a desktop or laptop. The snoozeoption may also be user 328 based, such that the user may select tosnooze the message and resend the message next time the user is with aselected user or the selected user is logged in and able to receivemessages. The user may be determined to be with the selected user basedon presence detection, or the system may identify that the user is on aconference call or in a meeting with the selected user, and mayredeliver the message.

Furthermore, the snooze option may be location 326 based, such that theuser may select to snooze a message until the user is in a certainlocation such as a public location at home, or in the office.Additionally, the user may snooze a message to a specific meeting 330 orconference call. For example, the user may want to be reminded to talkabout a particular message during the meeting or conference call, andthe user may select to redeliver the message during the call or meetingto remind the user of the message. Another example may be to snooze theemail based on received replies 332. The user may select to resend themessage if a reply has not been sent within a defined period of time,e.g. within 48 hours of the initial receipt of the message. In anotherexample, the user may customize the snooze option to select to resendthe message unless a reply to the message has been sent by the user oranother related message from another user has been received, so it maynot be necessary to alert the user again about the message.

In an example embodiment, when a message has been snoozed, the messagemay become hidden from the inbox 314 of messages so the user can viewand focus on other messages. When the message is redelivered, themessage may preserve the original timestamp, and may receive a newtimestamp at the time of redelivery. Additionally, the inbox 314 maydisplay snoozed items in a snooze section above the inbox 314. Forexample, the user may scroll down to view messages received in the past,and the user may scroll up to view items that have been snoozed to afuture time.

In another embodiment, the system may display time estimates formessages to provide an indication of a likely time it may take a user toread a message. For example, the system may parse received messages, andperform a word count and/or identify attachments to determine that amessage may take a longer amount of time for the user to process, suchas more than two minutes per message. A notification may be providedsuch as a popup window or icon indicating that the message may take theuser a longer time to process, and the user may decide to snooze themessage to a later time based on the time indication. Additionally, thesystem may automatically snooze a message until a later time based onthe estimated time that it may take a use to read a message based onuser defined settings. For example, the user may create a setting toautomatically snooze any message with a word count over 400 words orthat contains attachments to a specified time. In another embodiment,the system may observe user behavior to identify how a user addressesmessages from certain senders, with particular subjects, differentcontent, and varying lengths. Based on observed behaviors, the systemmay automatically choose to snooze certain messages to alternativetimes. Furthermore, the user may choose to snooze a message until theuser has free time in his schedule to address the message, and thesystem may consult the user's calendar and automatically choose a timeto resend the message based on an identified free timeslot in the user'scalendar.

FIGS. 4A and 4B illustrate an example quick toolbar and stack action,according to some example embodiments.

As previously described, a toolbar 404 may be provided with thecommunication application 402 to enable quick actions to be taken. Asillustrated in diagram 400A, in addition to a renew action 422 and asnooze action 424 displayed on the toolbar 404 as previously described,the toolbar 404 may also display other actions. Some additional actionsmay be to create new messages 416, search 426 for content such asmessages, events, and contacts using keywords, schedule events 420associated with a calendar application, initiate an instant messaging418 session or video conferencing session, a stack action 406, and othersimilar actions. The user may customize the quick actions that may bedisplayed on the toolbar 404 to display more, less or other actions theuser prefers.

In an example embodiment, the stack action 406 may be selected toassociate two or more messages (410, 408) together and to display themessages together, or stack the messages, in the inbox. For example, auser may select two or more messages (410, 408) concurrently from theinbox, and may select the stack action 406 from the quick toolbar 404.As illustrated in diagram 400B, the messages may be grouped or stacked430 together under the most recently received message so that themessages appear and flow together in the inbox 414. A stack indicator432 may be displayed next to the stacked messages to enable the user toquickly scan the inbox and identify a group of stacked 430 messages.While the example in diagram 400B shows stacking of email messages,other conversations can be stacked also, such as instant messages,recorded phone or video conversations, and the like.

The examples described above in FIG. 2 through 4 are shown with specificcomponents, visualizations, and configurations. Embodiments are notlimited to systems according to these example visualizations andconfigurations. Providing a system facilitating prioritization andmanagement of conversations in a communication application 402 may beimplemented in configurations employing fewer or additional componentsin applications and user interfaces. Furthermore, while the exampleshave been described in the context of messages, conversations such asemails, instant messages, and recorded audio and video conversations maybe organized, prioritized, and arranged with similar actions asdescribed above.

FIG. 5 is an example networked environment, where embodiments may beimplemented. A system for a system to facilitate prioritization andmanagement of conversations may be implemented via software executedover one or more servers 514 such as a hosted service. The platform maycommunicate with client applications on individual computing devicessuch as a smart phone 513, a laptop computer 512, or desktop computer511 (‘client devices’) through network(s) 510.

Client applications executed on any of the client devices 511-513 mayfacilitate communications via application(s) executed by servers 514, oron individual server 516. An application executed on one of the serversmay facilitate organizing and prioritizing conversations. Theapplication may retrieve relevant data from data store(s) 519 directlyor through database server 518, and provide requested services (e.g.document editing) to the user(s) through client devices 511-513.

Network(s) 510 may comprise any topology of servers, clients, Internetservice providers, and communication media. A system according toembodiments may have a static or dynamic topology. Network(s) 510 mayinclude secure networks such as an enterprise network, an unsecurenetwork such as a wireless open network, or the Internet. Network(s) 510may also coordinate communication over other networks such as PublicSwitched Telephone Network (PSTN) or cellular networks. Furthermore,network(s) 510 may include short range wireless networks such asBluetooth or similar ones. Network(s) 510 provide communication betweenthe nodes described herein. By way of example, and not limitation,network(s) 510 may include wireless media such as acoustic, RF, infraredand other wireless media.

Many other configurations of computing devices, applications, datasources, and data distribution systems may be employed to implement aplatform for providing a system facilitating organization andprioritization of conversations. Furthermore, the networked environmentsdiscussed in FIG. 5 are for illustration purposes only. Embodiments arenot limited to the example applications, modules, or processes.

FIG. 6 and the associated discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments may be implemented. With reference to FIG. 6, a blockdiagram of an example computing operating environment for an applicationaccording to embodiments is illustrated, such as computing device 600.In a basic configuration, computing device 600 may be any computingdevice executing an application for providing a system to facilitateorganization and prioritization of conversations according toembodiments and include at least one processing unit 602 and systemmemory 604. Computing device 600 may also include a plurality ofprocessing units that cooperate in executing programs. Depending on theexact configuration and type of computing device, the system memory 604may be volatile (such as RAM), non-volatile (such as ROM, flash memory,etc.) or some combination of the two. System memory 604 typicallyincludes an operating system 605 suitable for controlling the operationof the platform, such as the WINDOWS® operating systems from MICROSOFTCORPORATION of Redmond, Wash. The system memory 604 may also include oneor more software applications such as communication application 622, amessage management module 624, and an interaction detection module 626.

Communication application 622 may facilitate conversation exchangeincluding emails, instant messages, and audio/video conferencing while amessage assistant module 624 enables organization and prioritization ofreceived messages based on user interaction. The message managementmodule 624 may determine user intention based on detected userinteraction at the interaction detection module 626 for actions to betaken on a selected one or more messages. The message management module624 may automatically perform some actions based on detected userbehavior and may provide indications to the user to enable the user totake actions based on the provided indications. The communicationapplication 622, message management module 624, and interactiondetection module 626 may be separate applications or integrated modulesof a hosted service. For example, communication application 622 may be abrowser accessing an email service and may be integrated with othercontent sharing applications such as instant messaging applications,video conferencing applications, and calendar applications. This basicconfiguration is illustrated in FIG. 6 by those components within dashedline 608.

Computing device 600 may have additional features or functionality. Forexample, the computing device 600 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 6 by removable storage 609 and non-removable storage610. Computer readable storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory 604, removable storage 609 and non-removable storage 610 are allexamples of computer readable storage media. Computer readable storagemedia includes, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by computing device 600.Any such computer readable storage media may be part of computing device600. Computing device 600 may also have input device(s) 612 such askeyboard, mouse, pen, voice input device, touch input device, andcomparable input devices. Output device(s) 614 such as a display,speakers, printer, and other types of output devices may also beincluded. These devices are well known in the art and need not bediscussed at length here.

Computing device 600 may also contain communication connections 616 thatallow the device to communicate with other devices 618, such as over awired or wireless network in a distributed computing environment, asatellite link, a cellular link, a short range network, and comparablemechanisms. Other devices 618 may include computer device(s) thatexecute communication applications, web servers, and comparable devices.Communication connection(s) 616 is one example of communication media.Communication media can include therein computer readable instructions,data structures, program modules, or other data. By way of example, andnot limitation, communication media includes wired media such as a wirednetwork or direct-wired connection, and wireless media such as acoustic,RF, infrared and other wireless media.

Example embodiments also include methods. These methods can beimplemented in any number of ways, including the structures described inthis document. One such way is by machine operations, of devices of thetype described in this document.

Another optional way is for one or more of the individual operations ofthe methods to be performed in conjunction with one or more humanoperators performing some. These human operators need not be collocatedwith each other, but each can be only with a machine that performs aportion of the program.

FIG. 7 illustrates a logic flow diagram for process 700 of providing asystem for prioritizing and managing conversations in a communicationapplication, according to embodiments. Process 700 may be implemented ona computing device or similar electronic device capable of executinginstructions through a processor.

Process 700 begins with operation 710, where a plurality of messagesreceived through a communication application may be detected. Operation710 may be followed by operation 720 where a selection of a message fromthe plurality of messages displayed in an inbox of the communicationapplication may be detected. The message may be selected employing touchand gesture input as well as through mouse, stylus and keyboard input.

Operation 720 may be followed by operation 730 where a selection of arenew action associated with the selected message may be detected. Therenew action may be presented in a popup pane, and in other embodimentsthe renew action may be presented on a toolbar including actions forinteracting with the communication application.

Operation 730 may be followed by operation 740 where the selectedmessage may be displayed as a renewed message at the top of inbox. Therenewed message may receive a new timestamp while preserving theoriginal timestamp, and a renew indicator may be displayed adjacent tothe renewed message.

The operations included in process 700 are for illustration purposes.Providing a system for management of conversations in a communicationapplication may be implemented by similar processes with fewer oradditional steps, as well as in different order of operations using theprinciples described herein.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

What is claimed is:
 1. A method to be executed at least in part in acomputing device for managing conversations in a communicationapplication, the method comprising: detecting a plurality of messagesreceived through the communication application; detecting a selection ofa message from the plurality of messages displayed in a chronologicalorder; detecting activation of a renew action associated with theselected message; and displaying the selected message as a renewedmessage at a top of the chronological order.
 2. The method of claim 1,further comprising: displaying a list of selectable actions to beperformed on a displayed message, the selectable actions including oneor more of: the renew action, a done action, a snooze action, and astack action.
 3. The method of claim 1, further comprising: displaying anew timestamp on the renewed message.
 4. The method of claim 1, furthercomprising: marking the renewed message with a visualization indicator.5. The method of claim 1, wherein detecting the activation of the renewaction associated with the selected message further comprises: detectingselection of a renew option displayed on a toolbar provided on a userinterface of the communication application.
 6. The method of claim 5,wherein detecting selection of the renew option displayed on the toolbarfurther comprises one or more of: detecting a touch interaction on therenew option while the message is selected; and detecting a drag anddrop of the selected message over the renew option on the toolbar. 7.The method of claim 1, further comprising: automatically renewing amessage based on an identified pattern of user behavior including one ormore of: detection of a draft reply, detection of reading of themessage, detection of an expected reply message not being received. 8.The method of claim 1, further comprising: detecting selection of two ormore messages displayed on a user interface of the communicationapplication; and detecting selection of a stack action displayed on atoolbar provided on the user interface of the communication application.9. The method of claim 8, further comprising: grouping the two or moreselected messages together as associated conversations; and displaying astack indicator adjacent to the grouped messages.
 10. The method ofclaim 1, further comprising: detecting selection of one or more messageson a user interface of the communication application; detectingactivation of a done action displayed on one of: a popup pane and atoolbar; and one of hiding and minimizing the one or more selectedmessages on the user interface.
 11. The method of claim 1, furthercomprising detecting the selection of the message and activation of oneor more of: the renew action, a done action, a snooze action, and astack action on a user interface of the communication applicationthrough one or more of: a touch input, a gesture input, a keyboardinput, a mouse input, a pen input, a voice command, and an eye-trackinginput.
 12. A computing device for managing conversations, the computingdevice comprising: a memory; a display; and a processor coupled to thememory and the display, the processor configured to provide a userinterface associated with a communication application, wherein thecommunication application is configured to: detect a plurality ofmessages received through the communication application; detect aselection of a message from the plurality of messages displayed on theuser interface of the communication application; detect activation of asnooze action associated with the selected message; display a list ofsnooze options associated with the selected message; one of hide andminimize the selected message; and display the selected message againbased on a selected snooze option from the list of snooze options. 13.The computing device of claim 12, wherein the communication applicationis further configured to upon detection of the selection of the message,display a list of selectable actions, the selectable actions includingone or more of: a renew action, a done action, a stack action, and thesnooze action.
 14. The computing device of claim 12, wherein the list ofsnooze options includes one or more of: a date option, a time option, arepeat option, a user based option, a location based option, a devicebased option, and a reply based option.
 15. The computing device ofclaim 12, wherein the communication application is further configuredto: determine an estimated time for a user to read through a messagebased on at least one of: a word count, an expected reply, and a numberof attachments; and display the estimated time associated with themessage.
 16. The computing device of claim 12, wherein the communicationapplication is further configured to enable user interaction through oneor more of: a touch input, a gesture input, a keyboard input, a mouseinput, a pen input, a voice command, and an eye-tracking input.
 17. Thecomputing device of claim 12, wherein the communication application isfurther configured to display a toolbar including one or more quickactions for interacting with the communication application, the one ormore quick actions including at least one of: a renew action, the snoozeaction, a create new message action, a search action, a scheduleraction, an instant messaging initiation action, and a stack action. 18.A computer-readable memory device with instructions stored thereon formanaging conversations in a communication application, the instructionscomprising: detecting a plurality of messages received through acommunication application; detecting a selection of a message from theplurality of messages displayed on a user interface of the communicationapplication; displaying a toolbar including one or more quick actionsfor interacting with the communication application, the one or morequick actions including at least one of: a renew action, the snoozeaction, a create new message action, a search action, a scheduleraction, an instant messaging initiation action, and a stack action; inresponse to detecting activation of a renew action from the toolbarwhile the message is selected, displaying the selected message as arenewed message at a top of a chronological order; in response todetecting activation of a snooze action associated with the selectedmessage, one of hiding and minimizing the selected message, anddisplaying the selected message again based on a selected snooze option;and in response to detecting activation of a stack action, grouping thetwo or more selected messages together as associated conversations, anddisplaying a stack indicator adjacent to the grouped messages.
 19. Thecomputer-readable memory device of claim 18, wherein the instructionsfurther comprise: in response to the activation of the snooze action,displaying a list of snooze options associated with the selectedmessage; and displaying the selected message again based on the selectedsnooze option from the list of snooze options, wherein the list ofsnooze options includes one or more of: a date option, a time option, arepeat option, a user based option, a location based option, a devicebased option, a calendar based option, and a reply based option.
 20. Thecomputer-readable memory device of claim 19, wherein the instructionsfurther comprise: enabling a user to customize the one or more quickactions on the displayed toolbar.